#!/bin/sh

MODNAME=ntripClient
DAEMONNAME=ntripd
CLIENTNAME=ntripclient

case "$1" in
  start)
	. /opt/$MODNAME/etc/settings
	echo -n "Starting module $MODNAME: "
	if [ "$MOD_NTRIP_ENABLED" != "1" ]; then
	  echo "skipped"
	  exit 0
	fi
	/opt/$MODNAME/bin/$DAEMONNAME &
	RETVAL=$?
	if [ $RETVAL = 0 ]; then echo "done"; else echo "failed"; fi
	exit $RETVAL
	;;
  stop)
	echo -n "Stopping module $MODNAME: "
        # ask daemon only to stop - it should also stop client
	killall $DAEMONNAME 2> /dev/null
	for i in 1 2 3 4 5; do
	  if ! killall -0 $CLIENTNAME 2> /dev/null && ! killall -0 $DAEMONNAME 2> /dev/null; then
	    break
	  fi
	  sleep 1
	done
	if killall -0 $CLIENTNAME 2> /dev/null; then
	  echo "(killing $CLIENTNAME by force) "
	  killall -s 9 $CLIENTNAME
	  sleep 1
	fi
	if killall -0 $DAEMONNAME 2> /dev/null; then
	  echo "(killing $DAEMONNAME by force) "
	  killall -s 9 $DAEMONNAME
	  sleep 1
	fi
	! killall -0 $CLIENTNAME 2> /dev/null && ! killall -0 $DAEMONNAME 2> /dev/null
	RETVAL=$?
	rm -f /run/status.ntrip
	rm -f /run/mountpoint.ntrip
	if [ $RETVAL = 0 ]; then echo "done"; else echo "failed"; fi
	exit $RETVAL
	;;
  restart)
	$0 stop
	$0 start
	;;
  status)
	echo -n "Module $MODNAME is "
	killall -0 $DAEMONNAME 2> /dev/null
	RETVAL=$?
	if [ $RETVAL = 0 ]; then echo "running"; else echo "stopped"; fi
	exit $RETVAL
	;;
  defaults)
	cp /opt/$MODNAME/etc/defaults /opt/$MODNAME/etc/settings 2> /dev/null
	;;
  *)
	echo "Usage: $0 {start|stop|restart|status|defaults}"
	exit 1
esac
